package com.zhuss.opus.db.dao.ext;

import java.util.List;

import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import com.zhuss.bean.bo.SearchKeyWordBo;
import com.zhuss.bean.bo.opus.opus.SearchOpusBo;
import com.zhuss.bean.bo.opus.opus.wechat.ListOpusBo;
import com.zhuss.bean.vo.DetailKeyWordVo;
import com.zhuss.bean.vo.opus.opus.DetailOpusVo;
import com.zhuss.bean.vo.opus.opus.ListOpusVo;
import com.zhuss.opus.db.dao.gen.OpusMapper;
import com.zhuss.opus.db.entity.Opus;

@Mapper
public interface OpusDao extends OpusMapper {
	
	void create(Opus record);
	
	void delete(Opus record);
	
	List<Opus> listAll(@Param("area") Integer area);

	List<ListOpusVo> list(SearchOpusBo bo);

	Integer countList(SearchOpusBo bo);

	DetailOpusVo detail(@Param("opusId") Long opusId);

	List<DetailOpusVo> listOpus(ListOpusBo bo);
	
	Integer countOpusList(ListOpusBo bo);
	
	List<DetailKeyWordVo> keyWord(SearchKeyWordBo bo);
	
	Integer countKeyWord(SearchKeyWordBo bo);
    
}